package com.express.gateway.spi.check;

import com.express.gateway.manage.entity.Api;
import com.express.gateway.spi.check.impl.ParamCheckHandlerImpl;

import io.vertx.core.Handler;
import io.vertx.ext.web.RoutingContext;

/**
 * VxApiRoute参数检查处理器
 * 
 * @author flower
 *
 */
public interface ParamCheckHandler extends Handler<RoutingContext> {
	/**
	 * 得到一个默认的参数检查处理器实现
	 * 
	 * @param api
	 *          API配置文件
	 * @param maxContentLength
	 *          请求体的长度限制参数的长度
	 * @return
	 */
	static ParamCheckHandler create(Api api, long maxContentLength) {
		return new ParamCheckHandlerImpl(api, maxContentLength);
	};
}
